package com.zrrd.homework._0318_0324.h2;

/**
 * @author WanJl
 * @version 1.0
 * @title Vehicle
 * @description 交通工具类
 * @create 2024/3/24
 */
public class Vehicle {
    private String name;
    private int years;

    /*
        初始化代码块。就是使用一对{}括起来的代码

        初始化代码块，在进行代码编译的时候，会把代码块里的代码合并到构造方法中，
        并且放置的位置是构造方法的第一行。
        初始化代码块是在创建对象的时候，先于构造方法进行加载。
     */
    {
        System.out.println(name + "跑起来了~~~~");
    }

    /*
        静态初始化代码块
        静态--类
        静态属性也叫类属性，是属于整个类的，而不是属于某个对象。
        静态初始化代码块，里面的内容，是在类加载的加载的时候就加载的。
     */
    static{
        System.out.println("静态初始化代码块执行了......");
    }

    public Vehicle() {
        System.out.println("交通工具的构造方法运行.....");
    }

    public Vehicle(String name) {
        this.name = name;
        System.out.println("交通工具的有参构造方法运行....." + name);
    }

    public Vehicle(String name, int years) {
        this.name = name;
        this.years = years;
    }

    {
        System.out.println(name + "又~~~~跑起来了~~~~");
    }


}
